home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / virus / fixutil6.zip / CHK.DOC next >
Text File  |  1993-10-10  |  6KB  |  116 lines

  1.         CHKMEM, CHKBOOT, & CHKCMOS
  2.  
  3. The CHK programs are part of a suite of programs
  4. which I have developed as personal tools for the investigation of
  5. viruses. For some reason (possibly laziness) I have become something
  6. of a specialist in Master Boot Record, DOS Boot Record, and other low 
  7. level infections.
  8.  
  9. Each carries its own documentation internally. To read, for CHKMEM 
  10. simply TYPE the progran (e.g. TYPE CHKBOOT.COM), for CHKBOOT, invocation
  11. without a drive letter (e.g. CHKBOOT) will provide help. CHKCMOS has no
  12. options & therefore has no internal documentation.
  13.  
  14. With the current rise in number and prevalence of such infections - in
  15. particular the destructive MICHELANGELO, I am releasing these programs,
  16. as FREEWARE to the general public so long as they are not changed in any
  17. way, and in particular so long as the ASCII notices remain intact and are
  18. displayed.
  19.  
  20. Like any personal tool, I can make no guarentee as to the fitness for
  21. any use but they have proven effective for me. They are not 100% effective
  22. against any and all viruses but CHKMEM will find all of the MBR infectors
  23. and quite a few of the file infectors that go resident in the "upper 640".
  24. MICHELANGELO in particular will return a total memory value that is 2k
  25. lower than expected (most 640k machines should return A000 seg 640k 655,360
  26. bytes when clean) when resident as will STONED and most of its varients.
  27.  
  28. If DOS 4.x is in use, this return may be 1k lower - 9FC0 seg - and certain
  29. COMPAQ and other machines with dedicated mouse buffers may do so also as
  30. will most BIOS-beginning security program such as my DiskSecure program.
  31. Be aware that such a memory loss may be normal but any should be 
  32. investigated to determine what the cause is. If you have a low value and
  33. are in doubt, one test would be to boot from a known, clean, write-protected
  34. floppy with the same OS version and see if the values are the same. Note 
  35. that the lower two values will change depending on what TSRs are loaded but 
  36. their sum should remain the same. Mismatches of over 10h bytes should
  37. always be considered suspect. (10h mismatch will result in warning line
  38. but no "Infection" message. To see the message, simply enter CHKMEM 0."
  39.  
  40. The best use of CHKMEM is before a virus strikes to record "clean" values.
  41. This way any differences will be redily noticable.
  42.  
  43. CHKBOOT simply checks the boot record of floppy and fixed disks for 
  44. adherance to certain rules. Note that STONED and MICHELANGELO will not
  45. be detectable on fixed disks this way since they are MBR not DOS Boot
  46. Record infectors., however Boot Record infectors such as MUSICBUG and
  47. FORM will be detected both on floppy and hard disk. CHKBOOT will detect 
  48. all these infections (and others) very effectively on floppies. Also please 
  49. note that it may not detect certain viruses that "play by the rules" on 
  50. floppy disks but I have seen VERY few of these and none are "common". 
  51.  
  52. Again be aware that some security products maintenance disks
  53. (e.g. my original DiskSecure) may also violate these rules so if a disk is
  54. flagged as infected, be aware that there is a small chance that it may
  55. be a valid disk. It is also possible that some disk formatting routines
  56. may legitemately violate my somewhat arbritrary rules. If so, I would
  57. like to know about it.
  58.  
  59. Known "false positives" are with disks formatted to DOS version 1.x and
  60. COMPAQ v3.1, or any 5 1/4" floppy formatted to 160k (8 spt/single sided)
  61. However, unless a disk is really needed to be bootable with these older
  62. OS, use of FIXFBR2 will remove the flag when checked.
  63.  
  64. Since some "stealth" viruses may return correct values to CHKBOOT, it
  65. is recommended that CHKMEM be run first unless the system is known to
  66. be clean. Those "stealth" MBR infections that I have observed are detectable
  67. with CHKMEM when resident.
  68.  
  69. Just to make things a bit more difficult for would-be virus-writers, the
  70. rules these publicly-released versions use are slightly different than
  71. those in my personal toolkit but are designed to be just as effective
  72. at finding viruses.
  73.  
  74. Note: while these programs are designed to provide indication that a virus 
  75. such as STONED or MICHELANGELO is present, they do nothing to remove such 
  76. viruses, the proper treatment will depend on the virus encountered. For
  77. protection, please see my FREEWARE programs SafeMBR and NoFBoot.
  78.  
  79. CHKCMOS is a new program written in response to the EXEBUG virus. It is
  80. not very smart, just returning the information contained in the lower
  81. configuration bytes of the CMOS, those referring to floppy disks, fixed
  82. disks, and memory size. Since the CMOS checksum must agree with its
  83. contentent to work properly, a checksum mismatch is more likely due
  84. to a failing CMOS battery than to any other reason.
  85.  
  86. CHKCMOS is based on the original IBM-AT CMOS specification and has not
  87. been sufficiently tested to expect proper results with any other CMOS
  88. (though it has worked properly on all I have come across). As a 
  89. consequence it must be considered very much a "beta". The good news is 
  90. that it only reads the CMOS so it is very unlikely that it can do any
  91. harm. Note that it is for use with AT class PCs and above, operation on 
  92. 8088 class PCs is unpredictable.
  93.  
  94. Further, IBM PS/2 machines use a "different" structure as do certain
  95. early (XT class) AMSTRADS. CHKCMOS will attempt to identify the BIOS
  96. present and use the appropriate algorithms but again no guarantee can be 
  97. made though CHKCMOS will tell you what algorithm it is using.
  98.  
  99. RETURNS: While these programs were originally designed for manual use,
  100.     errorlevel returns have been added for use in batch files (CHKBOOT
  101.         should only be used this way on fixed disks) or from Network
  102.         servers. Returns will be 0 for valid termination and 1 or 2 for 
  103.         suspect termination. CHKCMOS does not provide errorlevel returns.
  104.       
  105. Weasel-Words: Use entirely at your own risk. No garentees of any kind are
  106.         made or implied. Just because I cannot think of any problems that
  107.         might occur does not mean that none exist (though all three programs
  108.         are passive in nature). False positives may occur.
  109.  
  110.                 Padgett Peterson
  111.                 POB 1203
  112.                 Windermere, Florida, USA, 34786
  113.                 10 October, 1993
  114.                 Internet: padgett%tccslr.dnet@mmc.com
  115.  
  116.